Method and apparatus for determining the attachment position of a motion sensing apparatus

ABSTRACT

A motion sensing apparatus generally comprising a housing unit operable to be attached to an object at an attachment position, an accelerometer operable to provide a signal corresponding to an acceleration measurement; and a processing system. The processing system is operable to acquire the signal corresponding to the acceleration measurement and analyze the acquired acceleration measurement to identify the attachment position of the housing unit.

RELATED APPLICATIONS

The present application claims the benefit of U.S. ProvisionalApplication No. 60/889,227, entitled “MOTION CLASSIFICATION SYSTEM ANDMETHOD,” filed Feb. 9, 2007, and is also a continuation-in-part of U.S.patent application Ser. No. 11/681,032, entitled “METHOD AND APPARATUSFOR ESTIMATING A MOTION PARAMETER,” filed Mar. 1, 2007, which in turnclaims the benefit of U.S. Provisional Application No. 60/778,793,entitled “METHOD AND SYSTEM FOR QUICK DISTANCE MEASUREMENT,” filed Mar.3, 2006. Each of the above-identified applications is incorporatedherein by reference.

BACKGROUND

1. Field

Embodiments of the present invention relate to methods and apparatusesfor determining the attachment position of a motion sensing apparatus.More particularly, various embodiments of the invention provide methodsand apparatuses operable to determine the attachment position of amotion sensing apparatus using acceleration measurements sensed by themotion sensing apparatus.

2. Description of the Related Art

Motion sensing apparatuses are often used to sense the motion of anobject, animal, or person. For example, sensed and calculated motionparameters, such as acceleration, average velocity, stride distance,total distance, gait efficiency, and the like, may be utilized in thetraining and evaluation of athletes and animals, the rehabilitation ofthe injured and disabled, and in various recreational activities.

Motion sensing apparatuses must often be attached to specific location,such as a user's shoe, arm, or wrist, to correctly sense and calculatemotion parameters. Thus, if a motion sensing apparatus is attached to anincorrect location, it may function incorrectly. Further, differentlyconfigured motion sensing apparatuses must be employed for differentattachment positions, thereby preventing users from using the samemotion sensing apparatus in more than one attachment configuration.

SUMMARY

In various embodiments the present invention provides a motion sensingapparatus generally comprising a housing unit operable to be attached toan object at an attachment position, an accelerometer operable toprovide a signal corresponding to an acceleration measurement, and aprocessing system. The processing system is operable to acquire thesignal corresponding to the acceleration measurement and analyze theacquired acceleration measurement to identify the attachment position ofthe housing unit.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not necessarily restrictive of the invention claimed. Theaccompanying drawings, which are incorporated in and constitute a partof the specification, illustrate embodiments of the invention andtogether with the general description, serve to explain the principlesof the invention.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

Various embodiments of the present invention are described in detailbelow with reference to the attached drawing figures, wherein:

FIG. 1 is a schematic diagram illustrating a user employing a sensorunit and a user interface unit configured in accordance with variousembodiments of the present invention;

FIG. 2 is a schematic diagram illustrating an exemplary orientation ofvarious sensors within or on a shoe;

FIG. 3 is a block diagram illustrating some of the components operableto be utilized by various embodiments of the present invention;

FIG. 4 is a block diagram illustrating some of the components of FIG. 3in more detail;

FIG. 5 is a block diagram illustrating an external systems unit incommunication with the sensor unit and user interface unit of FIG. 1;

FIG. 6 is a block diagram illustrating the user interface unit andsensor unit of FIG. 5 in communication with a GPS receiver;

FIG. 7 is a block diagram illustrating another configuration of the userinterface unit and GPS receiver of FIG. 5;

FIG. 8 is a block diagram illustrating another configuration of thesensor unit and GPS receiver of FIG. 5;

FIG. 9 is a block diagram illustrating another configuration of the GPSreceiver, user interface unit, and sensor unit of FIG. 5;

FIG. 10 is a schematic diagram showing the interaction of a plurality ofapparatuses configured in accordance with various embodiments of thepresent invention;

FIG. 11 is an exemplary acceleration signature for a foot-mounted sensorunit;

FIG. 12 is an exemplary acceleration signature for an arm-mounted sensorunit;

FIG. 13 is an exemplary acceleration signature for a chest-mountedsensor unit;

FIG. 14 is a block diagram illustrating an exemplary processing method;

FIG. 15 is an exemplary diagram illustrating motion angle;

FIG. 16 is an exemplary diagram showing the relationship between motionangle and surface incline or decline; and

FIG. 17 is a chart showing an exemplary correlation between a motionparameter metric and stride speed.

The drawing figures do not limit the present invention to the specificembodiments disclosed and described herein. The drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating various embodiments of the invention.

DETAILED DESCRIPTION

The following detailed description of various embodiments of theinvention references the accompanying drawings which illustrate specificembodiments in which the invention can be practiced. The embodiments areintended to describe aspects of the invention in sufficient detail toenable those skilled in the art to practice the invention. Otherembodiments can be utilized and changes can be made without departingfrom the scope of the present invention. The following detaileddescription is, therefore, not to be taken in a limiting sense. Thescope of the present invention is defined only by the appended claims,along with the full scope of equivalents to which such claims areentitled.

Various embodiments of the present invention provide a motion sensingapparatus 10 operable to determine its attachment position based on oneor more acceleration measurements. The apparatus 10 may select a motionanalysis algorithm based on the identified attachment position anddetermine a motion parameter using the selected motion analysisalgorithm.

In various embodiments, the apparatus 10 can include one or moreaccelerometers 12, a filtering element 14, and a processing system 16.The accelerometers 12, filtering element 14, and processing system 16may be integrated together or form discrete elements that may beassociated with each other. The processing system 16 is generallyoperable to analyze measurements provided by the one or moreaccelerometers 12 to determine the attachment position of the apparatus10.

The one or more accelerometers 12 are each operable to measure anacceleration and generate an acceleration measurement corresponding tothe measured acceleration. The acceleration measurement may be embodiedas a signal operable to be utilized by the filtering element 14 and/orprocessing system 16. In some embodiments, one or more of theaccelerometers 12 may be operable to output an analog signalcorresponding to an acceleration measurement. For instance, eachaccelerometer 12 may output an analog voltage signal that isproportional to measured accelerations. In some embodiments, one or moreof the accelerometers 12 may include the ADXL321 accelerometermanufactured by ANALOG DEVICES of Norwood, Mass. However, the one ormore accelerometers 12 may include any digital and analog componentsoperable to generate a signal corresponding to a measured acceleration.Thus, in some embodiments, one or more of the accelerometers 12 areoperable to output a digital signal representing measured accelerations.

In some embodiments, more than one of the accelerometers 12 may beintegrated into the same integrated circuit package to allow the singlepackage to provide acceleration measurements along more than one axis.For example, as shown in FIG. 2, the apparatus 10 may include two ormore accelerometers 12 each operable to output a signal corresponding toa measured acceleration. In some embodiments, the apparatus 10 includesat least two accelerometers 12 adapted to measure accelerations in twodirections separated by an angle greater than zero degrees and eachprovide a signal corresponding to the measured acceleration. Further,the apparatus 10 may include at least three accelerometers 12 adapted tomeasure accelerations in three directions each separated by an anglegreater than zero degrees and each provide a signal corresponding to themeasured acceleration. In some embodiments, the three accelerometers 12may be oriented in a mutually perpendicular configuration. However, theapparatus 10 may include any number of accelerometers 12, including asingle accelerometer 12, positioned in any configuration to provideacceleration measurements for use by the filtering element 14 and/orprocessing system 16.

The one or more of the accelerometers 12 may be operable to communicatewith other elements of the apparatus 10, or elements external to theapparatus 10, through wired or wireless connections. Thus, theaccelerometers 12 may be coupled with the filtering element 14 and/orprocessing system 16 through wires or the like. One or more of theaccelerometers 12 may also be configured to wirelessly transmit data toother apparatus 10 elements and devices external to the apparatus 10.For instance, one or more the accelerometers 12 may be configured forwireless communication using various RF protocols such as Bluetooth,Zigbee, ANT®, and/or any other wireless protocols.

The filtering element 14 is operable to couple with the one or moreaccelerometers 12 and filter acceleration measurements and/or signalscorresponding to acceleration measurements. In some embodiments, theapparatus 10 does not include the filtering element 14 and theprocessing system 16 is operable to use unfiltered accelerationmeasurements and corresponding signals. In other embodiments, thefiltering element 14 may be integral with one or more of theaccelerometers 12, the processing system 16, or both the accelerometers12 and the processing system 16. For example, a first portion of thefiltering element 14 may be integral with one or more of theaccelerometers 12 and a second portion of the filtering element 14 maybe integral with the processing system 16. In other embodiments, thefiltering element 14 may be discrete from both the accelerometers 12 andthe processing system 16.

The filtering element 14 may include analog and digital componentsoperable to filter and/or provide other pre-processing functionality tofacilitate the estimation of motion parameters by the processing system16. In various embodiments as shown in FIG. 4, the filtering element 14is operable to filter signals provided by the one or more accelerometers12, or signals derived therefrom, to attenuate perpendicularacceleration, to compensate for gravity, and/or to minimize aliasing.The filtering element 14 may include discrete components for performingeach of these filtering functions or use the same components andhardware for these, and other, filtering functions.

The filtering element 14 may include any analog and digital componentsfor filtering signals and measurements, including passive and activeelectronic components, processors, controllers, programmable logicdevices, digital signal processing elements, combinations thereof, andthe like. In some embodiments, the filtering element 14 may include adigital microcontroller, such as the MSP430F149 microcontrollermanufactured by TEXAS INSTRUMENTS to provide various static and/oradaptive filters. The filtering element 14 may also include ananalog-to-digital converter to convert analog signals provided by theone or more accelerometers 12 to digitize signals for use by theprocessing system 16. The filtering element 14 may also includeconventional pre-sampling filters.

In some embodiments, the low-pass filter 18 may be an adaptive filteroperable to employ static and/or varying cut-off frequencies betweenabout 0.5 Hz and 10 Hz. In some embodiments where parameterscorresponding to human strides are estimated, the low-pass filter 18 mayemploy cut-off frequencies between about 1 Hz and 3 Hz. The filteringelement 14 may acquire the cut-off frequency from the processing system16 based on computations performed by the processing system 16corresponding to the particular stride frequency of the subject elementS. The low-pass filter 18 may additionally or alternatively be adaptedto employ a cut-off frequency corresponding to a gait type identified bythe processing system 16.

In other embodiments, the cut-off frequency for the low-pass filter 18may be a static value based upon the typical stride frequency of arunning or walking human. For instance, the cut-off frequency maycorrespond to a frequency between one and two times the typical stridefrequency of a running and/or walking human, such as a static frequencybetween 1 Hz and 3 Hz. Specifically, in some embodiments, the cut-offfrequency may be about 1.45 Hz for walking humans and about 2.1 Hz forjogging humans.

The gravity compensation provided by the filtering element 14 generallycompensates for the constant acceleration provided by gravity that maybe sensed by one or more of the accelerometers 12. In some embodiments,the filtering element 14 includes a high-pass filter 20 operable tofilter or attenuate components of signals corresponding to measuredaccelerations below a given cut-off frequency. The cut-off frequency ofthe high-pass filter 20 may correspond to a frequency approaching 0 Hz,such as 0.1 Hz, to adequately provide compensation for gravity-relatedacceleration.

The anti-aliasing provided by the filtering element 14 generally reducesor prevents aliasing caused by sampling of the signals provided by, orderived from, the one or more accelerometers 12. In some embodiments,the filtering element 14 includes a relatively wideband filter 22designed to attenuate signal frequencies in excess of one-half of thesampling frequency used in any subsequent analog-to-digital conversionsprovided by the processing system 16 or other devices associated withthe apparatus 10. In some embodiments, the filtering element 14 mayprovide other filtering components instead of, or in addition to, thewideband filter 22 to compensate for aliasing. For instance, thefiltering element 14 may include one or more analog and/or digitalfilters to perform any combination of the various filteringfunctionality discussed herein. In some embodiments, a single filteringelement may be utilized to perform each of the filtering functionsdiscussed above such that separate or discrete filters are notnecessarily employed for different filtering functions.

The processing system 16 is generally operable to couple with the one ormore accelerometers 12 and/or the filtering element 14 to identify theattachment position of the motion sensing apparatus 10, and morespecifically, the attachment position of the one or more accelerometers12. The processing system 16 may include various analog and digitalcomponents operable to perform the various functions discussed herein.In some embodiments, the processing system 16 may include amicroprocessor, a microcontroller, a programmable logic device, digitaland analog logic devices, computing elements such as personal computers,servers, portable computing devices, combinations thereof, and the like.

The processing system 16, filtering element 14, accelerometers 12,and/or other portions of the apparatus 10 may limit or expand thedynamic range of acceleration measurements used to generate the motionparameter metric and/or identify attachment position. For example,acceleration measurements outside a specified dynamic range, such asplus or minus 8 g, may be saturated at the dynamic range limits tofurther limit the effects of perpendicular acceleration. Alternatively,linear or non-linear amplifiers may be used to increase or reduce thedynamic range. The dynamic range may be varied by the processing system16 based on the particular motion parameter being estimated or accordingto other sensed or generated measurements.

The processing system 16 may also include, or be operable to couplewith, a memory. The memory may include any computer-readable memory orcombination of computer-readable memories operable to store data for useby the processing system 16. For instance, the memory may be operable tostore acceleration data, motion parameter metric data, statistical data,motion parameter data, filtering data, configuration data, combinationsthereof, and the like.

The processing system 16 may be discrete from the various accelerometers12 and filtering element 14 discussed above. In other embodiments, theprocessing system 16 may be integral with other portions of theapparatus 10. For instance, the same microcontroller or microprocessormay be utilized to implement the filtering element 14 and the processingsystem 16.

In some embodiments, data and information generated by theaccelerometers 12, filtering element 14, and/or processing system 16 maybe stored in the memory associated with the processing system 16, or inany other computer-readable memory, to allow later analysis by theprocessing system 16 or other devices associated therewith. The storedinformation may be time-correlated to facilitate analysis and compressedto reduce the required capacity of the memory.

The processing system 16 may additionally or alternatively utilizeinformation acquired from sensors other than the one or moreaccelerometers 12. For instance, in some embodiments the processingsystem 16 may couple with a heart rate monitor, acquire heart rateinformation from the heart rate monitor, and identify the attachmentposition of the apparatus 10 and/or generate a motion parameter usingthe heart rate information and/or acceleration measurements. Similarly,the processing system 16 may couple with other sensors to acquirenon-acceleration kinematic variables such as velocity and/orenvironmental variables such as ambient temperature and altitude. Forexample, to acquire additional information, the processing system 16 maycouple with, and/or include, radio-frequency transceivers, thermometers,altimeters, compasses, inclinometers, pressure sensors, blood pressuremonitors, light sensors, atmospheric sensors, angular velocity sensorsand other inertial sensors, microphones, computing devices such aspersonal computers, cellular phones, and personal digital assistances,other similarly configured apparatuses, combinations thereof, and thelike.

In some embodiments, as shown in FIGS. 6 through 9, the apparatus 10 maybe operable to receive information from at least one navigation device24. The navigation device 24 may be adapted to provide geographiclocation information to the apparatus 10 and users of the apparatus 10.The navigation device 24 may include a GPS receiver much like thosedisclosed in U.S. Pat. No. 6,434,485, which is incorporated herein byspecific reference. However, the navigation device 24 may use cellularor other positioning signals instead of, or in addition to, the GPS tofacilitate determination of geographic locations. The navigation device24 may be operable to generate navigation information such as the speedof the navigation device 24, the current and previous locations of thenavigation device 24, the bearing and heading of the navigation device24, the altitude of the navigation device 24, combinations thereof, andthe like.

The processing system 16 may use the information received from thenavigation device 24 to generate a motion parameter metric and/oridentify the attachment position of the apparatus 10. The processingsystem 16 may also use and present acquired navigation informationindependent of the metrics and estimated parameters. Additionally oralternatively, the processing system 16 may use the information acquiredfrom the navigation device 24 to correct and/or adjust calculatedinformation. For instance, the processing system 16 may comparedistances and speeds generated from accelerations provided by the one ormore accelerometers 12 with distances and speeds provided by thenavigation device 24 and correct calculated measurements to enabledistances and speeds generated from measured accelerations to be asaccurate as those provided by the navigation device 24. Thus, theprocessing system 16 may be periodically coupled with the navigationdevice 24 to correct information to ensure that the apparatus 10accurately estimates motion parameters even when not coupled with thenavigation device 24.

The filtering element 14 and processing system 16 may additionally beoperable to compensate for part-to-part manufacturing variabilitypresent in the one or more accelerometers 12, including characterizationover temperature of zero-g bias point, sensitivity, cross-axissensitivity, nonlinearity, output impedance, combinations thereof, andthe like.

In some embodiments, as shown in FIG. 5, the apparatus 10 may include acommunications element 26 to enable the apparatus 10 to communicate withother computing devices, exercise devices, navigation devices, sensors,and any other enabled devices through a communication network, such asthe Internet, a local area network, a wide area network, an ad hoc orpeer to peer network, combinations thereof, and the like. Similarly, thecommunications element 26 may be configured to allow directcommunication between similarly configured apparatuses using USB, ANT®,Bluetooth, Zigbee, Firewire, and other connections, such that theapparatus 10 need not necessarily utilize a communications network toacquire and exchange information.

In various embodiments the communications element 26 may enable theapparatus 10 to wirelessly communicate with communications networksutilizing wireless data transfer methods such as WiFi (802.11), Wi-Max,Bluetooth, ultra-wideband, infrared, cellular telephony, radiofrequency, and the like. However, the communications element 26 maycouple with the communications network utilizing wired connections, suchas an Ethernet cable, and is not limited to wireless methods.

The communications element 26 may be configured to enable the apparatus10 to exchange data with external computing devices to facilitate thegeneration and/or analysis of information. For example, the processingsystem 16 may use information acquired through the communicationselement 26 in identifying the attachment position of the apparatus 10,in generating the motion parameter metrics, and/or in estimating motionparameters. The processing system 16 may also provide generated motionparameter metrics and estimated motion parameters through thecommunications element 26 for use by external devices. For instance, theexternal devices can be configured to store, analyze, and exchangeinformation between a plurality of users and/or a plurality of devicesattached to one or multiple users.

Consequently, the communications element 26 generally enables real-timecomparison of information generated by the apparatus 10 and otherdevices. The communications element 26 also enables the apparatus 10 tostore data on one or more of the external devices for later retrieval,analysis, aggregation, and the like. The data can be used byindividuals, their trainers or others to capture history, evaluateperformance, modify training programs, compare against otherindividuals, and the like. The data can also be used in aggregated form.

The apparatus 10 may additionally include a user interface 28 to enableusers to access various information generated and acquired by theapparatus 10, such as attachment positions, acceleration measurements,motion parameter metrics, estimated motion parameters, navigationinformation acquired from the navigation device 24, information and dataacquired through the communications element 26, configurationinformation, combinations thereof, and the like. The user interface 28facilities, for example, powering on/off the apparatus 10, selectingwhich content to display, and providing configuration information suchas the attributes of the subject element S.

The user interface 28 may include one or more displays to visuallypresent information for consumption by users and one or more speakers toaudibly present information to users. The user interface 28 may alsoinclude mechanical elements, such as buzzers and vibrators, to notifyusers of events through mechanical agitation. In some embodiments, asshown in FIG. 1, the user interface 28 may be implemented within a watchoperable to be worn on a user's wrist, forearm, and/or arm. Thus, theuser interface 28 may be positioned separately from one or more of theaccelerometers 12 to enable the user to easily interact with theapparatus 10. However, in some embodiments the user interface 28 andaccelerometers 12 may be integral.

The user interface 28 may also be operable to receive inputs from theuser to control the functionality of the processing system 16 and/ordevices and elements associated therewith. The user interface 28 mayinclude various functionable inputs such as switches and buttons, atouch-screen display, optical sensors, magnetic sensors, thermalsensors, inertial sensors, a microphone and voice-recognitioncapabilities, combinations thereof, and the like. The user interface 28may also include various processing and memory devices to facilitate itsfunctionality.

The user interface 28 enables users to receive real-time feedbackconcerning the estimated motion parameter and associated information.For instance, the user interface 28 may present the currently estimatedmotion parameter, such as a current stride speed and distance, and/orinformation associated therewith or with other motion parameters, suchas total distance, calories expended, total speed, combinations thereof,and the like.

Utilizing the communications element 26, the user interface 28 alsoenables users to receive real-time feedback and comparisons with otherusers and devices. For instance, as shown in FIG. 10, a plurality ofapparatuses 10 may be employed by a plurality of runners to enable data,metrics, and parameters corresponding to each runner to be shared andpresented to the user. Thus, for instance, the user may ascertain thespeed and location of other users through the user interface 28.

Further, the user interface 28 may acquire comparison information fromthe processing system 16 and/or from other devices through thecommunications element 26 to enable the user to compare his or herperformance using the comparison information. For instance, the userinterface 28 may present a comparison of the user's current performancewith a previous performance by the user, with a training model, and/orwith another individual.

In various embodiments, the user may configure the apparatus 10utilizing the user interface 28 to monitor estimated motion parametersand alert the user through the user interface 28 when one or moreestimated motion parameters conflict with a user-defined condition suchas an acceptable parameter range, threshold, and/or variance. The usermay also configure the apparatus 10 utilizing the user interface 28 tomonitor various user-defined goals, such as time limits, motionparameter maximum values, and the like.

As is discussed above, the various components of the apparatus 10 may behoused integrally or separately in any combination. In some embodiments,the apparatus 10 includes an interface unit 30 for housing the userinterface 28 and associated components and a sensor unit 32 for housingthe one or more accelerometers 12 and the communications element 26. Insuch embodiments, the processing system 16 (housed within both or eitherunit 30, 32) is operable to determine the attachment position of thesensor unit 32. In some embodiments, the units 30, 32 may be housedwithin the same housing, as is shown in FIG. 9. However, in otherembodiments the units 30, 32 may be discrete such that the sensor unit32 may be positioned in a first location, such as on the user's shoe,and the interface unit 30 may be positioned at a second location, suchas on the user's wrist.

The interface unit 30 may also include an interface communicationelement 34, configured in a similar manner to the communications element26 discussed above, to enable the interface unit 30 to exchangeinformation with the sensor unit 32, other parts of the apparatus 10,and/or with devices external to the apparatus 10. In embodiments wherethe units 30, 32 are positioned separate from each other, thecommunications elements 26, 34 may communicate utilizing the variouswireless methods discussed above. However, the communications elements26, 34 may also communicate utilizing wired connections or throughexternal devices and systems.

The units 30, 32 may also each include power sources for powering thevarious components of the apparatus 10, such as through the use ofbatteries or power-generating elements such as piezoelectric,electromechanical, thermoelectric, and photoelectric elements. In someembodiments, portions of the user interface 28 may be included with bothunits 30, 32 such that each unit 30, 32 and its respective componentscan be individually functioned by the user.

As shown in FIG. 5, the apparatus 10 may additionally include anexternal systems unit 36 to enable the interface unit 30 and sensor unit32 to easily communicate with external systems and devices. For example,the external systems unit 36 may include a communications element tocommunicate with the other communication elements 26, 34, amicrocontroller to process information, and a standard interface such asa WiFi, Bluetooth, ANT®, USB, or ZigBee interface operable to easilyinterface with devices such as cellular phones, portable media players,personal digital assistants, navigation devices, personal and portablecomputing devices, combinations thereof, and the like. Thus, in someembodiments, the external systems unit 36 may be connected with animmobile personal computer and the interface unit 30 and sensor unit 32may be positioned on a mobile user, as is shown in FIG. 10.

As is shown in FIGS. 6 through 9, the interface unit 30 and sensor unit32 may each be operable to communicate with the navigation unit 24 toreceive and utilize navigation information. The navigation device 24 maybe discrete from the units 30, 32, as shown in FIG. 6, the navigationdevice 24 may be integral with the interface unit 30, as shown in FIG.7, the navigation device 24 may be integral with the sensor unit 32, asshown in FIG. 8, and/or the navigation device 24 may be integral withboth units 30, 32, as shown in FIG. 9. Further, in some embodiments, anyone or more of the units 30, 32, 36 and navigation device 24 may beautomatically disabled when not in use to achieve optimum system powerconsumption and functionality.

In some embodiments, the sensor unit 32 may be attached to the user'swrist in an enclosure which is similar to a watch and combined withother functionality such as timekeeping or with other sensors such thenavigation device 24. In other embodiments, the sensor unit 32 may beattached to the user's arm using an enclosure similar to an armband andcombined with other devices such as a cellular phone, an audio deviceand/or the navigation device 24. In various other embodiments, thesensor unit 32 may be attached to the user with a chest strap in anenclosure which may include other sensors such as a heart-rate monitor(HRM). In yet other embodiments, the sensor unit 32 may be attached touser's waist with, for example, a belt clip. In further embodiments, thesensor unit 32 may be attached to the top of a user's shoe withremovable fasteners such as clips. In other embodiments, the sensor unit32 may be inserted within the user's shoe, such as within a recessformed in the sole of the shoe.

In some embodiments, the sensor unit 32, and/or more generally theapparatus 10, may be operable to attach to more than one portion of theuser. For example, the sensor unit 32 may be adapted to attach to any ofthe various positions discussed above, including but not limited to, theuser's wrist, arm, waist, chest, pocket, hat, glove, shoe (internal),and shoe (external). Such a configuration enables the same sensor unit32, or apparatus 10, to be easily utilized by the user in a variety ofpositions to generate desirable motion parameters and/or to facilitateease of use

In some embodiments, the apparatus 10 may be configured to identify itsposition on the user's body, thereby allowing the user to carry orattach the apparatus 10, or more particularly the sensor unit 32, in anyof the above-identified positions or in any other arbitrary location,including in combination with other electronic devices such as acellular phone.

To identify the attachment position of the sensor unit 32, theprocessing system 16 may analyze one or more acceleration measurementsgenerated by the one or more accelerometers 12. For a particular motiontype such as striding, each attachment position and/or orientation willpresent a generally unique acceleration signature that may be identifiedby the processing system 16 to determine the attachment position and/ormotion type of the accelerometers 12 or other portions of the apparatus10, depending on how and/or where the accelerometers 12 are housed.

For example, FIG. 11 illustrates an exemplary acceleration signaturecorresponding to the sensor unit 32 mounted to the user's foot duringstriding; FIG. 12 illustrates an exemplary acceleration signaturecorresponding to the sensor unit 32 mounted to the user's arm duringstriding; and FIG. 13 illustrates an exemplary acceleration signaturecorresponding to the sensor unit 32 mounting to the user's chest (torso)during striding. Utilizing various signal processing algorithms, theprocessing system 16 may analyze measurements provided by the one ormore accelerometers 12 and determine if the measurements correspond to afoot, arm, chest, or other striding acceleration signature. For example,by identifying the minimum(s), maximum(s), period, frequency, waveform,rate of change, combinations thereof, and the like, the processingsystem 16 may identify the acceleration signature, and thus theattachment position and/or motion type, of the sensor unit 32.

In some embodiments, the processing system 16 may determine theattachment position of the apparatus 10 by determining the orientationof the apparatus 10, or more specifically, the sensor unit 32. Forexample, if the sensor unit 32 is configured for mounting in twoorientations, e.g., an upright orientation for mounting within a shoeand an inverted orientation for mounting on top of the shoe, theprocessing system 16 may analyze the acceleration measurements from theone or more accelerometers 12 to determine the orientation, e.g.,upright or inverted, of the sensor unit 32 and thus where the sensorunit 32 is attached.

In some embodiments the orientation of the apparatus 10 is notassociated with any particular attachment position, as described above.Instead, different orientations may be associated with differentactivity types, or may be indicative of other conditions such asdifferent terrain types, use by different users, and the like. Forexample, if the sensor unit 32 is configured for mounting in twoorientations, e.g., an upright orientation and an inverted orientationfor mounting anywhere on or within the shoe, the processing system 16may analyze the acceleration measurements from the one or moreaccelerometers 12 to determine the orientation, e.g., upright orinverted, of the sensor unit 32, and thus determine that the activitytype is one of either jogging or bicycling.

Alternatively, for example, if the sensor unit 32 is configured formounting in two orientations, e.g., facing forward orientation andfacing backward orientation for mounting anywhere on or within the shoe,the processing system 16 may analyze the acceleration measurements fromthe one or more accelerometers 12 to determine the orientation, e.g.,forward facing or backward facing, of the sensor unit 32, and thusdetermine that the user engaged in the activity is a specific one of twousers.

In yet another embodiment, the sensor unit 32 is configured for mountingin one specific orientation, e.g. on a chest strap or on the belt, andthe activity type, e.g. jogging or swimming, determines the orientationof the sensor unit 32 relative to gravity. The processing system 16 maythen analyze the acceleration measurements from the one or moreaccelerometers 12 to determine the orientation, e.g., parallel orperpendicular to gravity, of the sensor unit 32, and thus determine thatthe activity type is one of either jogging or swimming.

The processing system 16 may identify the attachment position,orientation and/or motion type of the apparatus 10 and/or sensor unit 32dynamically (i.e., on the fly) and/or store data corresponding to theacceleration measurements in the memory for later analysis and use.However, dynamic identification of the attachment position, orientationand/or motion type enables the processing system 16 to select anappropriate motion analysis algorithm for real-time user feedback ofestimated and/or calculated motion parameters.

In some embodiments, the processing system 16 may be trained to identifynew attachment positions. For example, the user could attach the sensorunit 32 in an arbitrary position, such as on the top of his or her head,and instruct the processing system 16 to enter a training mode duringswimming to learn the acceleration signature of the new attachmentposition during the new motion type. During subsequent uses of theapparatus 10, the processing system 10 may automatically identify whenthe sensor unit 32 is in the new attachment position and/or when the newmotion type is being performed based on the acceleration signature ofthe new position and/or the new motion type without requiring additionaltraining by the user.

In some embodiments, the processing system 16 may also classify themotion currently being performed by the user based on one or moreacceleration measurements provided by the one or more accelerometers 12.The processing system 16 may perform a motion classification analysis inaddition to, or as an alternative to, the attachment position and motiontype identification based on acceleration signature discussed above. Themotion classification analysis may identify different types of gait,such as walking or running on flat or inclined surfaces, ascendingstairs, descending stairs, climbing ladders, combinations thereof, andthe like.

In various embodiments, the apparatus 10 includes at least twoaccelerometers 12 which provide signals for use by the processing system16 to determine a striding motion angle. The two accelerometers 12 canbe mounted on the foot in a substantially mutually perpendicularorientation and in the sagittal plane of the user, and generateacceleration measurements a₀(t) and a₁(t). A rotation sensor can be usedto measure the change in angle, θ(t), in the sagittal plane. In variousembodiments, the rotation sensor is a pair of spaced substantiallyparallel accelerometers 12 which can be used to calculate angularacceleration based on the difference of the signals. In anotherembodiment, the rotation sensor is a gyroscope.

Acceleration and rotational signals are sampled and stored for theduration of each stride T and processed as detailed in the exemplaryblock diagram of FIG. 14. The transformation of measured accelerationinto the arbitrary stride reference frame within the sagittal plane canbe computed by the processing system 16 as follows:

a ₀′(t)=α₀(t)cos(θ(t))−a ₁(t)sin(θ(t))  (1)

a ₁′(t)=α₀(t)sin(θ(t))+a ₁(t)cos(θ(t))  (2)

Mean acceleration and velocity relative to the stride reference framecan be computed by the processing system 16 as follows:

$\begin{matrix}{{a_{0}^{\prime}{mean}} = {\frac{1}{T}{\int_{0}^{T}{{a_{0}^{\prime}(t)}{t}}}}} & (3) \\{{a_{1}^{\prime}{mean}} = {\frac{1}{T}{\int_{0}^{T}{{a_{1}^{\prime}(t)}{t}}}}} & (4) \\{{v_{0}^{\prime}(t)} = {\int_{0}^{t}{\left( {{a_{0}^{\prime}(\tau)} - {a_{0}^{\prime}{mean}}} \right){\tau}}}} & (5) \\{{v_{1}^{\prime}(t)} = {\int_{0}^{t}{\left( {{a_{1}^{\prime}(\tau)} - {a_{1}^{\prime}{mean}}} \right){\tau}}}} & (6) \\{{v_{0}^{\prime}{mean}} = {\frac{1}{T}{\int_{0}^{T}{{v_{0}^{\prime}(t)}{t}}}}} & (7) \\{{v_{1}^{\prime}{mean}} = {\frac{1}{T}{\int_{0}^{T}{{v_{1}^{\prime}(t)}{t}}}}} & (8)\end{matrix}$

Stride speed can be computed by the processing system 16 as themagnitude of stride velocity as follows:

v=√{square root over (v ₀′mean² +v ₁′mean²)}  (9)

The reference frame can be defined by the arbitrary orientation in thesagittal plane of the apparatus 10, or more specifically the sensor unit32, at the start of each stride. The point of reference in time ischosen for each stride such that the sensor unit 32 is substantiallystationary and the reference frame is substantially consistent betweenstrides. Computing the average acceleration vector from the start to endof each stride yields a vector measurement that is substantially definedby gravity. This allows for the transformation of measured accelerationvector, velocity and displacement from the arbitrary reference frame toa reference frame defined by gravity.

The angle of motion can be computed by the processing system 16 from theangle of stride velocity relative to horizontal as follows:

φ=∠v−(∠a−90°)  (10)

where:

-   -   φ=angle of motion relative to horizontal    -   ∠v=angle of stride velocity relative to reference frame    -   ∠a=angle of stride acceleration relative to reference frame

∠v=tan⁻¹(v ₁′mean,v ₀′mean)  (11)

∠a=tan⁻¹(a ₁′mean,a ₀′mean)  (12)

The angle of motion can be calibrated for a particular subject's gaitand mounting of the sensor unit 32 on the user's body. One method ofcalibration is to remove the average offset of motion angle from zerowhen the subject is walking on a flat surface.

In some embodiments, the angle of motion can be used to classify thesurface incline or decline that is currently being traversed, as isillustrated in FIGS. 15-16.

In one embodiment, in addition to the two accelerometers mounted in asubstantially mutually perpendicular orientation and in the sagittalplane as discussed above, a third accelerometer is included. The thirdaccelerometer is mounted in a direction substantially perpendicular tothe other two accelerometers. The acceleration measured by the thirdaccelerometer is used to estimate the amount of motion perpendicular tothe sagittal plane. This estimate may be used to compensate the motionangle measurement for motion perpendicular to the sagittal plane.

In some embodiments, the motion angle may be determined using averageacceleration. Acceleration measurements provided by the one or moreaccelerometers 12 can be averaged to at least partially extract the DC(0 Hz) component of acceleration. Over sufficiently long time periods,DC acceleration is primarily attributable to acceleration due togravity. Consequently, measurement of the gravity vector is used todetermine the average orientation of the sensor unit 32 relative to thedirection of gravity (vertical). Direction of motion can thus beestimated if the orientation of the measurement frame of reference isknown relative to the direction of motion (i.e. unit mountingorientation on the body).

In one embodiment, a single accelerometer may be used. Thisconfiguration may assume that the vector representing direction ofmotion is in a known plane, such as the sagittal plane of the user.Under these constraints, the average acceleration measured by theaccelerometer varies sinusoidally with the angle between the measurementframe of reference and vertical. The motion angle can thus be calculatedby the processing system 16 if the orientation of the measurement frameof reference is known relative to the direction of motion.

In another embodiment, two accelerometers may be used to improveaccuracy over the above-described single accelerometer configuration.The two accelerometers measure accelerations in two substantiallyperpendicular directions, both of which are substantially within a knownplane, such as the sagittal plane of the user. Combining the twoacceleration measurements into an acceleration vector and averaging oversufficiently long periods of time measures the gravity accelerationvector in the measurement frame of reference. The angle of the measuredgravity acceleration vector, combined with the known orientation of themeasurement frame of reference relative to the direction of motionmeasures the motion angle.

In another embodiment, three accelerometers may be used in situationswhere the vector representing direction of motion is not in a knownplane. The three accelerometers measure accelerations in three mutuallysubstantially perpendicular directions. Combining the three accelerationmeasurements into an acceleration vector and averaging over sufficientlylong periods of time measures the gravity acceleration vector in themeasurement frame of reference. The angle of the measured gravityacceleration vector combined with the known orientation of themeasurement frame of reference relative to the direction of motionmeasures the motion angle.

The motion angle determined by the processing system 16 may be used toclassify the motion of the user, such as by classifying the gait of theuser. An exemplary gait classification table is provided below in Table1:

TABLE 1 Gait Classification Range of Motion Angle Ascending Stairs φ ≧15° Incline Walking or Running 0° < φ < 15° Flat Walking or Running φ =0° Decline Walking or Running −15° < φ < 0° Descending Stairs φ ≦ −15°Backwards Walking or Running φ < −165° or φ > 165°

The motion angle may also be utilized by the processing system 16 todetermine output power. Athletes are often interested in the amount ofpower output by the body during an activity. The body power output isconsumed in several ways, one of which is to overcome gravity. The bodypower output can be calculated as the sum of the ways in which power isconsumed. For a particular speed, power needed to overcome the force ofgravity increases with increasing incline angle. For a particular speed,as decline angle increases the amount of power contributed to the motionby gravity increases. Gravity does not influence the output power formotion on flat surfaces. Thus, information about angle of motion may beutilized the processing system 16 to determine output power.

Acceleration measurements may also be used by the processing system 16to classify whether or not the user's motion is cyclical. To identifycyclical motion of the sensor unit 32, the processing system 16 mayanalyze one or more acceleration measurements generated by the one ormore accelerometers 12. One or several of many known spectral analysistechniques such as FFT, digital filtering, analogue filtering, peakcounting, and the like may be employed to identify the dominantfrequency components of acceleration measurements or measure the signalpower in particular frequency bands. Motion could be classified ascyclical if the dominant frequency component is within a specificfrequency band. Alternatively, motion could be classified as cyclical ifsufficient signal power exists within a specific frequency band. Forexample, the specific frequency band could be 0.25 Hz to 5 Hz.Classification of the user's motion as cyclical enables the processingsystem 16 to calculate cadence. Cyclical components can be found in, forexample, walking, jogging, running, cycling, exercising on an ellipticaltrainer, rowing, etc.

Acceleration measurements provided by the one or more accelerometers 12may also be used to classify terrain type during activities such asjogging, bicycling, and the like. During activities such as jogging orbicycling, rough terrain types generate more energy in high-frequencycomponents of acceleration measurements than smooth terrain types. Toidentify motion terrain type of the sensor unit 32, the processingsystem 16 may analyze one or more acceleration measurements generated bythe one or more accelerometers 12. One or several of many known spectralanalysis techniques such as FFT, digital filtering, analogue filtering,peak counting, and the like may be employed to measure the signal powerin particular frequency bands. Motion terrain type could be classifiedas rough if sufficient signal power exists within a specific frequencyband or above a specific frequency. For example, the specific frequencycould be 10 Hz. Rough terrain types can be further sub-classified. Forexample, bicycling on shale or gravel could be differentiated frombicycling on grass or earth and rocks, based on relative signal power inspecific bands above the specific frequency. Terrain classification canbe used in, for example, suspension control on bicycles or inactive-prosthetic control.

The processing system 16 may additionally utilize the accelerationmeasurements to classify striding motion. In one aspect, striding motionis classified into gait types by looking at the “stationary period”. Thestationary period is the amount of time the foot remains substantiallystationary while walking. The stationary period can be determined byexamining foot accelerations measured by the one or more accelerometers12. The stationary period for walking is distinguishably longer than forjogging or running. Typically, the stationary period decreases as thespeed of motion increases. The stationary period can be but is notnecessarily equal to the duration of the stance phase.

Acceleration measurements may thus be used by the processing system 16to classify a complete range of activities by utilizing combinations ofvarious techniques including the acceleration signature identification,determination of angle of motion, determination of output power,identification of cyclical motion, terrain type classification, gaittype classification and the like. Activities which can, for example, beclassified or otherwise identified by the processing system 16 include:walking; jogging; running; swimming; bicycling, racquet sports; rowing,skiing, shuffling; driving; exercising on a stationary bicycle or otherstationary apparatus such as an elliptical trainer; hiking;rollerblading; skateboarding; low-energy activities such as officeactivities and watching television; sleeping; dancing; playing sportssuch as basketball, football, soccer or golf; combinations thereof; andthe like. Thus, the apparatus 10 may automatically provide informationfor a plurality of activities without requiring manual reconfigurationor programming by the user.

The processing system 16 may additionally or alternatively classify theuser's striding motion as healthy or abnormal based on measurementsprovided by the one or more accelerometers 12. For example, theprocessing system 16 may detect irregularities in the user's gait; e.g.abnormal swing characteristics, onset of a drop-foot condition, etc, bycomparing the real-time determined characteristics, such as motion angleor determined motion parameters, against known, normal, stored values.In yet another implementation, a sensor unit 32 could be worn on eachfoot/leg to look for gait asymmetries, for example. Such a configurationcould be used in rehabilitation and training performance optimization.

In one embodiment, pronation/supination conditions are measured with agyro, such as gyroscope housed within the sensor unit 32. The amount offoot roll in a plane substantially perpendicular to the direction ofmotion is measured by integrating angular velocity.

In another embodiment, pronation/supination conditions are measured withtwo accelerometers substantially parallel, separated by a fixeddistance, such as two of the accelerometers 12 discussed above. In thisaspect, the measured translational accelerations can be used to computeangular acceleration which can be doubly integrated to obtain the amountof foot roll in a plane substantially perpendicular to the direction oftravel.

In another embodiment, pronation/supination conditions are measured withone of the accelerometers 12 by estimating the direction of the gravityvector relative to the orientation of the foot, before and after footstrike. This can be done with one, two or three of the accelerometers12. One and two-accelerometer embodiments make an assumption that theaccelerometer is free to rotate only in the plane substantiallyperpendicular to the direction of motion. A tri-axial embodiment can bemounted on the foot in an arbitrary location.

The processing system 16 may also classify motion based on the severityof impacts associated with the motion. For example, running on pavementwith poor technique can be associated with substantial impacts and canthus result in substantial joint stress and wear. Exercising on anelliptical trainer, on the other hand, is associated with minimal or noimpacts. Accelerometer measurements can be used to identify impactcharacteristics which can be used by the processing system 16 toestimate impact force and/or joint stress associated with impacts. Theuser may be interested in knowing instantaneous impact levels for aparticular motion type, or a cumulative amount of joint stress over anactivity session or over longer periods of time. Thus, the userinterface 28 may inform the user of the determined motion angle, themotion classification, impact power, combinations thereof, and the like.

In one embodiment, the processing system 16 may determine thesuitability of footwear for a particular user or a particular activitybased on impact level measurements. In another embodiment the quality offootwear may be monitored over time with impact level measurements todetermine when the footwear should be replaced.

The processing system 16 may also estimate the fatigue or efficiency ofthe user by identifying changes in the impact levels over time during anexercise activity as the user's foot strike will start to become morechoppy and less regular, which will manifest as inconsistentacceleration patterns. Utilizing the user interface 28, the processingsystem 16 can also provide real-time bio-feedback as to the user'srehabilitation from a stroke or accident, for example, by denoting thelevel and direction of foot impact compared to established norms.

Utilizing the identified attachment position and/or the classifiedmotion, the processing system 16 may select one or more motion analysisalgorithms that may be used to determine one or more motion parameters.The memory may include a database of motion analysis algorithmscorresponding to various combinations of attachment positions and motionclassifications. For example, the memory may include motion analysisalgorithms for: foot, chest, and arm attachment locations; walking,running, swimming, and biking algorithms; and/or walking, running,swimming, and biking algorithms for each of the foot, chest, and armattachment positions. As should be appreciated, the processing system 16may select a suitable motion analysis algorithm from the memory or othersources (including external sources) for any identified attachmentposition or classified motion. Selection of motion analysis algorithmscorresponding to an identified attachment position and/or classifiedmotion facilitates in the accurate determination of motion parameters.

The processing system 16 may additionally or alternatively select themotion analysis algorithm based on one or more user characteristics,such as age, gender, weight, height, configuration, shape, and the like.The processing system 16 may also select the motion analysis algorithmbased on the configuration of the apparatus 10, such as the number andtype of accelerometers 12 utilized, the number of accelerationmeasurements received, combinations thereof, and the like.

In some embodiments, the selected motion analysis algorithm may includea statistical model, such as a regression model selected from the groupconsisting of a linear regression model, a polynomial regression model,a multiple-regression model, a piecewise-linear regression model,combinations thereof, and the like.

Utilizing one or more selected motion analysis algorithms andacceleration signals provided by the one or more accelerometers 12, theprocessing system 16 may estimate, calculate, identify, or otherwisedetermine one or more motion parameters. The motion parameter maycorrespond to stride speed, acceleration, velocity, stride distance,total distance, gait efficiency, power, energy, maximum impact, averagecalories consumed, maximum speed change, speed variability, strokepower, lap time, strike time, steps, cadence, combinations thereof, andthe like. However, the motion parameter determined by the processingsystem 16 may correspond to any parameter associated with the motion ofthe user.

In some embodiments, the processing system 16 may estimate the strideduration of a human or animal using measurements provided by the one ormore accelerometers 12 and the selected motion analysis algorithm. Forinstance, based on various changes in accelerations measured by the oneor more accelerometers 12, the processing system 16 may be able todetermine the time at which a stride begins and ends, such as bydetermining when a runner's foot impacts the ground, when a runner'sfoot leaves the ground, when a runner's foot is stationary relative tothe ground, combinations thereof, and the like. Thus, by analyzingvarious changes in measured accelerations, the processing system 16 maycompute the stride duration and information corresponding thereto, suchas stride frequency. The stride frequency may represent the number ofstrides per second or other indications of the rate of stride.

In some embodiments, the processing system 16 may provide the strideduration and/or stride frequency to the filtering element 14 for use indetermining the various cut-off frequencies discussed above. Thus, theprocessing system 16 may dynamically determine the stride duration andstride frequency based on received acceleration measurements and thefiltering element 14 may adapt to provide accurate filtration based onthe particular performance of the user. For example, the filteringelement 14 may filter perpendicular acceleration based on the stridefrequency calculated by the processing system 16 to facilitate theaccurate estimation of the motion parameter.

Any motion analysis algorithm may be utilized by the processing system16, including the motion parameter metrics and statistical modelsdisclosed in co-pending U.S. patent application Ser. No. 11/681,032,which is incorporated by reference above. For instance, the processingsystem 16 may correlate a generated motion parameter metric to stridespeed as shown in the regression model of FIG. 17.

The estimation/calculation/determination performed by the processingsystem 16 may generally correspond to any correlation between theselected motion analysis algorithm and one or more motion parameters andis not necessarily a direct computation based on user kinematics.Consequently, the processing system 16 may estimate the motion parameterutilizing statistics and/or other empirical information even when adirect computation of the motion parameter is difficult or impossible toperform.

In some embodiments, the processing system 16 may utilize a database, alook-up table, or other information stored within the memory, or anyother computer-readable medium, to estimate the motion parameter usingthe selected motion analysis algorithm. For example, given a particularset of acceleration measurements, attachment positions, and/orclassified motions, the processing system 16 may access the memory toacquire a corresponding motion parameter.

In various embodiments, the processing system 16 is operable to computethe motion parameter metric and/or estimate the motion parameter foreach detected stride to facilitate the accurate analysis of movement.Thus, for every stride detected as discussed above, or for anycombination of strides, the processing system 16 may estimate the motionparameter. Further, in some embodiments, the processing system 16 mayestimate the motion parameter using algorithms corresponding to aplurality of strides. For example, the estimated motion parameter maycorrespond to a total or average stride speed resulting from severalstrides.

The apparatus 10 is operable to estimate motion parameters using onlyacceleration measurements acquired from the one or more accelerometers12, using acceleration measurements in combination with otherinformation acquired from the navigation unit 24 or other devicesthrough the communications element 26, using information other thanacceleration measurements, combinations thereof, and the like.

In some embodiments, the processing system 16 may utilize accelerationmeasurements and/or other information, such as the identified attachmentposition or classified motion, to automatically provide appropriatecontent based upon the identified activity without requiring user input.For example, if the user switches from walking to jogging, theprocessing system 16 may identify the change, compute jogging-relatedmetrics and motion parameters, and display jogging-related informationusing the user interface 28. As another example, the processing system16 may identify that the user is swimming and that the sensor unit 32 ismounted on the user's arm based upon the acceleration measurements andgenerate and display swimming-related information such as cadence,stroke power, lap times, and the like.

In some embodiments, the processing system 16 may be configured toutilize a multi-resolution approach in storing information and datacorresponding to sensed measurements and activities. For example, at thelowest resolution, the time, date, classification, duration and totalenergy expenditure of each activity may be saved. Another resolution mayallow data to be stored corresponding to, for example, for jogging, theaverage pace, average cadence, total distance, total elevation change,and the like. Another resolution may allow data to be storedcorresponding to, again for jogging, for example, individual strideparameters and/or frequent measurements of heart rate, elevation, pace,and/or associated GPS coordinates. The history resolution depth for eachtype of activity can be pre-selected by the user or be automaticallyselected by the processing system 16 based on the amount of storagespace available. In some embodiments, all activities are initiallyrecorded at the highest available resolution; subsequently, if storagespace becomes a constraint, highest resolution records of oldestactivities may be erased to allow for storage of the most recentactivities at a history resolution at least as good as resolution of theoldest records.

Further, the processing system 16 may provide context-awarefunctionality utilizing measured accelerations, identified attachmentpositions, classified motions, selected algorithms, estimated motionparameters, information acquired through the user interface 28,information acquired through communications element 26 or other devicessuch as the navigation device 24, combinations thereof, and the like.For example, the processing system 16 may detect: if the apparatus 10 isbeing used to estimate motion parameters or monitor user performance; ifthe apparatus 10 is not being used; if the apparatus 10 is beingcharged; if the apparatus 10 is in proximity to a compatible externalsystem or device; if the apparatus 10 is in proximity to a displaydevice such as a cellular phone, personal digital assistant, computer,audio device, heads-up display, watch; combinations thereof; and thelike.

Based on the determination of the use context and with minimal or nouser intervention, the apparatus 10 can provide any appropriate set offunctions. For example, while in proximity to a compatible externalsystem, the apparatus 10 can automatically establish a communicationchannel and exchange information with the compatible external system.Similarly, while monitoring user activity, the apparatus 10 can recordmotion history and associated motion parameters. While not in use, theapparatus 10 can disable most of its sensors to conserve energy andenable a subset of the sensors, such as the one or more accelerometers12, only frequently enough to maintain context awareness. While inproximity to a display device, the apparatus 10 can determine thecapabilities of the device, and communicate appropriate information tothe display device. The use contexts are not necessarily mutuallyexclusive. For example, the apparatus 10 can be charging and be inproximity to a compatible external system at the same time. Thus, whilecharging, the apparatus 10 can continue the sensing of nearby compatibleexternal systems and, upon detection of a compatible external system,establish a communication channel and exchange information with thecompatible external system. The user thus perceives and expects theapparatus 10 to be always enabled and the apparatus 10 requires minimalor no user input to perform all of its functions.

The activity monitoring and/or context awareness discussed above may beutilized by the apparatus 10 to maintain a generally continuous recordof the user's activities. For example, the user may wear the apparatus10 continuously or repeatedly to monitor long-term activity, such astrends, goals, and the like. Generally continuous monitoring of useractivity by the apparatus 10 also enables alerts to be issued if theprocessing system 16 detects abnormal activity. For example, if the userremains generally immobile for extended periods of time, the processingsystem 16 may issue an alert to notify the user through the userinterface 28 and/or alert third-parties utilizing the communicationselement 26.

It is believed that embodiments of the present invention and many of itsattendant advantages will be understood by the foregoing description,and it will be apparent that various changes may be made in the form,construction and arrangement of the components thereof without departingfrom the scope and spirit of the invention or without sacrificing all ofits material advantages. The form herein before described being merelyan explanatory embodiment thereof, it is the intention of the followingclaims to encompass and include such changes.

1. A method for determining the attachment position of a motion sensingapparatus, the method comprising: acquiring an acceleration measurementfrom the motion sensing apparatus; and analyzing the acquiredacceleration measurement to identify the attachment position of themotion sensing apparatus.
 2. The method of claim 1, further includingselecting a motion analysis algorithm based on the identified attachmentposition and determining a motion parameter utilizing the selectedmotion analysis algorithm.
 3. The method of claim 2, further includinganalyzing the acquired acceleration measurement to classify a motion ofthe apparatus and selecting the motion analysis algorithm based on theidentified attachment position and motion classification.
 4. The methodof claim 1, wherein the acceleration measurement is acquired from anaccelerometer comprising a portion of the motion sensing apparatus andthe analysis of the acquired acceleration measurement is performed by aprocessing system comprising a portion of the motion sensing apparatus.5. The method of claim 1, wherein the attachment position is a positioncorresponding to a person's body.
 6. The method of claim 5, whereinidentified attachment position is a shoe or a non-shoe position.
 7. Themethod of claim 5, wherein the identified attachment position is one ofa position within a shoe and a position on top of the shoe.
 8. A motionsensing apparatus, comprising: a housing unit operable to be attached toan object at an attachment position; an accelerometer coupled with thehousing unit and operable to provide a signal corresponding to anacceleration measurement; and a processing system operable to acquirethe signal corresponding to the acceleration measurement, and analyzethe acquired acceleration measurement to identify the attachmentposition of the housing unit.
 9. The motion sensing apparatus of claim8, wherein the processing system is further operable to select a motionanalysis algorithm based on the identified attachment position anddetermine a motion parameter utilizing the selected motion analysisalgorithm.
 10. The motion sensing apparatus of claim 9, furtherincluding a user interface operable to present a visual indication ofthe determined motion parameter to a user.
 11. The motion sensingapparatus of claim 9, wherein the processing system is further operableto analyze the acquired acceleration measurement to classify a motion ofthe object and select the motion analysis algorithm based on theidentified attachment position and motion classification.
 12. The motionsensing apparatus of claim 8, wherein the object is a person and theattachment position is a position corresponding to the person's body.13. The motion sensing apparatus of claim 12, wherein the attachmentposition is a shoe or a non-shoe position.
 14. The motion sensingapparatus of claim 12, wherein the attachment position is one of aposition within a shoe and a position on top of the shoe.
 15. The motionsensing apparatus of claim 8, further including a plurality ofaccelerometers coupled with the housing unit and operable to provide aplurality of signals corresponding to acceleration measurements, theprocessing system being operable to acquire the signals and identify theattachment position of the motion sensing apparatus utilizing theacceleration measurements.
 16. A motion sensing apparatus, comprising: ahousing unit operable to be attached to a person's body at an attachmentposition; a plurality of accelerometers coupled with the housing unitand operable to provide a plurality of signals corresponding toacceleration measurements; and a processing system operable to acquirethe signals corresponding to the acceleration measurements, analyze theacquired acceleration measurements to identify the attachment positionof the housing unit, select a motion analysis algorithm based on theidentified attachment position, and determine a motion parameterutilizing the selected motion analysis algorithm.
 17. The motion sensingapparatus of claim 16, further including a user interface operable topresent a visual indication of the determined motion parameter to theperson.
 18. The motion sensing apparatus of claim 16, wherein theattachment position is a shoe or a non-shoe position.
 19. The motionsensing apparatus of claim 16, wherein the housing unit houses theaccelerometers and the processing system.
 20. The motion sensingapparatus of claim 19, wherein the processing system is further operableto analyze the acquired acceleration measurements to classify a motionof the person and select the motion analysis algorithm based on theidentified attachment position and motion classification.
 21. A motionsensing apparatus, comprising: a housing unit operable to be attached toan object in an attachment orientation; an accelerometer coupled withthe housing unit and operable to provide a signal corresponding to anacceleration measurement; and a processing system operable to acquirethe signal corresponding to the acceleration measurement, analyze theacquired acceleration measurement to identify the attachment orientationof the housing unit, select a motion analysis algorithm based on theidentified attachment orientation, and determine a motion parameterutilizing the selected motion analysis algorithm.
 22. The motion sensingapparatus of claim 21, wherein the processing system is further operableto analyze the acquired acceleration measurements to classify a motionof the object and select the motion analysis algorithm based on theidentified attachment orientation and motion classification.
 23. Amethod for determining the attachment orientation of a motion sensingapparatus, the method comprising: acquiring an acceleration measurementfrom the motion sensing apparatus; analyzing the acquired accelerationmeasurement to identify the attachment orientation of the motion sensingapparatus; selecting a motion analysis algorithm based on the identifiedattachment orientation; and determining a motion parameter utilizing theselected motion analysis algorithm.
 24. The method of claim 23, furtherincluding analyzing the acquired acceleration measurement to classify amotion of the apparatus and selecting the motion analysis algorithmbased on the identified attachment orientation and motionclassification.